from modules import *
import random
from utils.tools import 暂无数据,随机获取列表

class 人员_网络队伍管理(Page_Object):
    def __init__(self, page: Page):
        super().__init__(page)
        self.所属区域 = self.page.locator(".el-input__inner").nth(0)
        self.街区 = self.page.locator(".el-cascader-menu__wrap").nth(0).locator("li")
        self.社区 = self.page.locator(".el-cascader-menu__wrap").nth(1).locator("label")

        self.搜索 = self.page.get_by_text("搜索")
        self.查询 = self.page.get_by_text("查询")
        self.重置 = self.page.get_by_text("重置")

        # self.暂无数据 = self.page.locator(".el-table__empty-text")
        self.搜索结果第一列 = self.page.locator(".el-table__body-wrapper").locator("tbody").locator("tr").nth(0).locator("td").nth(0)


    def navigate(self):
        self.跳转("/prose/reseau/reseau")

    def search_搜索(self):
        self.所属区域.click()
        街区 = self.街区
        count = 街区.count()  # 注意：Playwright 中 count() 是异步方法
        if count > 0:
            # 随机选择一个索引
            random_index = random.randint(0, count - 1)
            # 点击对应的 li
            街区.nth(random_index).click()
            社区 = self.社区
            count = 社区.count()
            if count > 0:
                random_index = random.randint(0, count - 1)
                # 点击对应的 li
                社区.nth(random_index).click()
                self.查询.click()
                expect(self.搜索结果第一列).to_be_visible(timeout=2000)
                self.重置.click()

        # # 断言文本为“查询”的元素可见（自动等待，最多5秒）
        # self.请输入人员姓名.fill(请输入人员姓名)
        # self.查询.click()
        # 暂无数据(self.page)
        # # expect(self.搜索结果第一列).to_be_visible(timeout=2000)
        # self.重置.click()
        # self.page.wait_for_timeout(1000)

